草庐IT

spring - 不同集合的QueryDsl MongoRepository

全部标签

c# - 在关闭不同线程时在其他窗口后面发送的应用程序窗口 (C#)

我正在用C#.NET编写Windows窗体应用程序启动时,应用程序会显示一个在单独线程中运行的启动画面。当启动画面显示时,主应用程序正在初始化。主应用程序完成初始化后,将显示应用程序的主窗体,初始屏幕仍显示在顶部。到目前为止一切都符合预期。然后,启动画面关闭,导致该线程退出。出于某种原因,此时主应用程序窗口被发送到所有其他打开的窗口之后,特别是您首先单击.exe文件运行应用程序的Windows资源管理器窗口!是什么导致window像这样突然“跳到”后面? 最佳答案 尝试在线程关闭时在主窗口上调用.Activate()。它从未处于事件

c# - 实现 IEnumerable<T> 的自定义集合的 Json.net 序列化

我有一个实现IEnumerable的集合类,但我在反序列化其序列化版本时遇到了问题。我正在使用Json.netv4.0.2.13623这是我的集合类的简化版本,可以说明我的问题publicclassMyType{publicintNumber{get;privateset;}publicMyType(intnumber){this.Number=number;}}publicclassMyTypes:IEnumerable{privatereadonlyDictionaryc_index;publicMyTypes(IEnumerableseed){this.c_index=seed.

c# - 3rd 方库引用不同版本的 log4net.dll

我有两个对我的应用程序至关重要的库,它们依赖于不同版本的log4net.dll。当我正在使用的第3方部分被调用时,在我的bin文件夹中尝试这两个dll会出现通常的错误:无法加载文件或程序集“log4net,Version=1.2.10.0,Culture=neutral,PublicKeyToken=1b44e1d426115821”或其依赖项之一。找到的程序集的list定义与程序集引用不匹配。(HRESULT异常:0x80131040)有没有一种方法可以让应用程序同时引用这两个dll?第三方dll是Windsor的IOC容器和Paypal的API,两者都对这个应用程序至关重要。

c# - 从集合中查找和删除项目

从集合中删除集合但仍将删除的项目保留在单独集合中的最佳方法是什么?我已经编写了一个扩展方法来执行此操作,但我认为必须有更好的方法。这是我的功能:publicstaticListFindAndRemove(thisListlst,Predicatematch){Listret=lst.FindAll(match);lst.RemoveAll(match);returnret;}你会像这样使用它:ListmyList=newList();myList.Add("ABC");myList.Add("DEF");myList.Add("ABC");Listremoved=myList.Find

c# - 构建动态表达式树以过滤集合属性

我正在尝试构建一个lambda表达式,它将与其他表达式组合成一个相当大的表达式树以进行过滤。在我需要按子集合属性进行过滤之前,这工作正常。如何构建一个Lambda表达式,该表达式将使用Any()对作为根对象属性的集合属性进行过滤?例子:CurrentDataSource.Offices.Where(o=>o.base_Trades.Any(t=>t.Name=="test"))这就是我静态构建表达式的方式,但我需要动态构建它。抱歉造成混淆。编辑:这是我如何处理不太复杂的表达式的片段:IQueryableofficeQuery=CurrentDataSource.Offices.AsQu

c# - .NET 框架中是否有针对不同 Web 方法类型(GET、PUT、POST、DELETE、HEAD)的常量?

我刚刚在创建RESTfulWCF服务时注意到WebInvoke属性上的Method参数区分大小写(需要大写)。所以,[WebInvoke(Method="Delete")]不等于[WebInvoke(Method="DELETE")]这个错误导致了ProtocolException:System.ServiceModel.ProtocolException:Theremoteserverreturnedanunexpectedresponse:(405)MethodNotAllowed.我想知道我应该使用.NET框架中的一组常量来代替上面示例中的“DELETE”。我当然可以定义我自己的

c# - AutoMapper Project().To() 并对子集合进行排序

我有一个对象图,我正在使用EFCodeFirst和AutoMapper从数据库加载到DTO:-publicclassFoo{publicintId{get;set;}publicvirtualICollectionBars{get;set;}}publicclassBar{publicintId{get;set;}publicintFooId{get;set;}publicvirtualFooFoo{get;set;}publicstringName{get;set;}publicintSortOrder{get;set;}}publicclassFooDto{publicIEnume

c# - 检查 IEnumerable<T> 是否不包含重复项(= 不同)的快速方法

是否有快速内置方法来检查IEnumerable只包含不同的字符串?一开始我是这样开始的:varenumAsArray=enum.ToArray();if(enumAsArray.Length!=enumAsArray.Distinct().Count())throw...但是,这看起来像是O(2n)-是吗?ToArray()可能是O(1)?这看起来更快:varset=newHashSet();foreach(varstrinenum){if(!set.Add(str))throw...}这应该是O(n),但是,是否也有内置方法?编辑:也许Distinct()在内部使用它?解决方案:在考

c# - 对象和集合初始值设定项 - 分配 self ?

我在程序中使用对象和集合初始化器,并考虑如何获得下面的示例。Orders.Add(newOrder(){id=123,date=newdatetime(2012,03,26)items=newOrderItems(){lineid=1,quantity=3,order=??//wanttoassigntocurrentorder.}}如何将新创建的订单分配给订单项? 最佳答案 你在这里尝试的是不可能的。您不能引用从对象初始值设定项主体中构造的对象。您需要将其分解为一组单独的步骤varlocal=newOrder(){id=123,d

c# - 使用相同 NuGet 包的两个不同版本

我想使用两个不同版本的相同库(OpenCVSharp2.x和OpenCVSharp3.x)。我将这两个包都下载到单独的项目(我们称之为OCV2Wrapper和OCV3Wrapper)并在我的项目中引用这两个包装器。我不得不从一个包(2.x)中重命名库并引用它们手册,因为:Canweadd2differentversionsofsamepackageinNuGet.我阅读了有关外部别名的信息,并在其中一个包装器中使用了外部别名(在我的例子中是2.x)。但我有一些主要问题:我重命名的库没有复制到启动项目构建(引用两个包装器的那个),而是在2.x包装器的构建中它不起作用,因为它说它无法从我的